package cn.sccl.service.impl;

import java.util.List;

import org.hibernate.Transaction;

import cn.sccl.dao.CustomerDao;
import cn.sccl.dao.LinkManDao;
import cn.sccl.dao.impl.CustomerDaoImpl;
import cn.sccl.dao.impl.LinkManDaoImpl;
import cn.sccl.domain.Customer;
import cn.sccl.domain.LinkMan;
import cn.sccl.service.LinkManService;
import cn.sccl.utils.HibernateUtils;

/**
 * @author 饶爽
 * @time 2019年8月27日 下午11:50:13
 * @version 1.0.0
 * LinkMan业务实现类
*/
public class LinkManServiceImpl implements LinkManService {
    private CustomerDao cd =new CustomerDaoImpl();
    private LinkManDao lmd = new LinkManDaoImpl();
    @Override
    public void save(LinkMan lm) {
        //开启事务
        Transaction tx = HibernateUtils.getCurrentSession().beginTransaction();
        try {
            //1 根据客户id获得客户对象
            Long cust_id = lm.getCust_id();
            Customer c = cd.getById(cust_id);
            //2 将客户放入LinkMan中表达关系
            lm.setCustomer(c);
            //3 保存LinkMan
            lmd.save(lm);
        } catch (Exception e) {
            e.printStackTrace();
            //回滚事务
            tx.rollback();
        }
        //提交事务
        tx.commit();
    }
    @Override
    public List<LinkMan> getAll() {
        //开启事务
        Transaction tx = HibernateUtils.getCurrentSession().beginTransaction();
        //调用DAO层获取所有保存客户信息
        List<LinkMan> list = lmd.getAll();
        
        tx.commit();
        return list;
    }

}
